package cn.wolfcode.shop.service;

import cn.wolfcode.shop.domain.Catalog;

import java.util.List;

public interface ICatalogService {
    /**
     * 查询所有商品
     * @return
     */
    List<Catalog> selectAll();

    /**
     * 商品列表(根据商品的pid查询)
     * @param catalogId
     * @return
     */
    List<Catalog> selectByCatalogPid(Long catalogId);

    /**
     * 商品添加分类
     * @param catalog
     */
    void saveOrUpdate(Catalog catalog);

    /**
     * 查询该分类是否是目录,如果是不能删除
     * @param catalogId
     */
    Catalog selectByCatalogId(Long catalogId);

    /**
     * 查询当前分类下有几个字分类(用于删除判断)
     * @param catalogId
     * @return
     */
    List<Catalog> selectChildByCatalog(Long catalogId);

    /**
     * 删除当前分类
     * @param catalogId
     */
    void delete(Long catalogId);

    /**
     * 给需要做拖拽排序
     * @param ids
     */
    void updateSort(Long[] ids);

    /**
     * 查询更新属性个个数
     */
    void catalogPropertyCountByCatalog();


}
